A virtual branch (vBranch) is a way of providing services in a branch environment. In the past, branch services were either provided by a bunch of physical appliances stacked in the branch location or by an integrated solution where all service functions were provided by one software stack. With the advent of Network Function Virtualization (NFV), consideration is being given to a solution where the service functions are virtualized on a hardware platform in the branch environment. This provides a mechanism whereby services can be added quickly, without “truck rolls” and without physically re-wiring the branch location.